﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace lchealthy
{
    public partial class frmpic : Form
    {
        private int mid = 0;//存放测量数据的MID
        private string picpath;//存放图片路径
        int flag = 0;      //记录当前是第几张图片
        FileSystemInfo[] fsinfo;   //存储遍历文件夹后的文件
        int MM = 0;      // 切换图片的数量 
        List<string> pic;//存放图片路径下的所有图片文件

        public frmpic(int mmid)
        {
            mid = mmid;
            InitializeComponent();
        }

        private void frmpic_Load(object sender, EventArgs e)
        {
            string sql = "select mdate,mpic from measureinfo where mid=" + mid;
            DataSet ds = DbHelperOleDb.Query(sql);
            if (ds.Tables[0].Rows.Count == 1)
            {
                picpath = ds.Tables[0].Rows[0]["mpic"].ToString();//获得图片的相对路径
                this.Text = DateTime.Parse(ds.Tables[0].Rows[0]["mdate"].ToString()).ToLongDateString();
            }

            picpath = Application.StartupPath + "\\cpics\\" + picpath+"\\";//获得图片的绝对路径
            DirectoryInfo di = new DirectoryInfo(picpath); //创建DirectoryInfo实例
            fsinfo = di.GetFileSystemInfos();
            pic = new List<string>();
            for (int i = 0; i < fsinfo.Length; i++)   //遍历目录下所有文件
            {
                string filename = fsinfo[i].ToString();

                string filetype = filename.Substring(filename.LastIndexOf("."));//获取文件的格式(".格式名")
                filetype = filetype.ToLower(); //把图片的格式转换成小写；
                //用来判断这个文件夹下有没有这些格式的文件
                if (filetype == ".jpeg" || filetype == ".jpg" || filetype == ".png" || filetype == ".gif" || filetype == ".bmp")
                {

                    pic.Add(fsinfo[i].ToString());
                    flag++;

                }
            }
           //窗体一加载显示该客户测试文件夹下的第一幅图片 
         picImage.Image = Image.FromFile(picpath+pic[0]);
        }
        //点击按钮显示上一张图片
        private void btnBefore_Click(object sender, EventArgs e)
        {
            if (MM == 0) //到达第一张时按钮不可用，不再向前翻页
            {
                btnBefore.Enabled = false;

            }
            else //不是第一张图片时，“上一张”按钮可用，可以向前翻页
            {
                MM= MM- 1;
                btnBefore.Enabled = true;
                picImage.Image = Image.FromFile(picpath + pic[MM]);
            }

            btnNext.Enabled = true;
        }
        //点击按钮显示下一张图片
        private void btnNext_Click(object sender, EventArgs e)
        {

            if (MM== flag - 1)//到达最后一张时按钮不可用，不再向后翻页
            {

                btnNext.Enabled = false;

            }
            else//不是最后一张图片时，“下一张”按钮可用，可以向后翻页
            {
                MM = MM + 1;
                btnNext.Enabled = true;
                picImage.Image = Image.FromFile(picpath + pic[MM]);
            }
            btnBefore.Enabled = true;
        }
        //点击按钮显示循环播放图片
        private void btnBoFang_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }
        //点击按钮停止循环播放
        private void btnStop_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (MM == flag - 1)
            {
                MM = 0;

            }
            else
            {
                MM = MM + 1;
            }
            picImage.Image = Image.FromFile(picpath + pic[MM]);

        }
    }
}
